草庐IT

c++ - NULL == 指针

全部标签

php - get_class() 期望参数 1 为对象,给定为 null

当我尝试在新的本地机器上部署Symfony2.8项目时,我在多个代码位置遇到了这个错误:"Warning:get_class()expectsparameter1tobeobject,nullgiven"在stackoverflow上没有找到这种情况,花了一些时间找出原因。 最佳答案 正如关于此问题的其他地方所述,在PHP7.2get_class中手动状态:Note:ExplicitlypassingNULLastheobjectisnolongerallowedasofPHP7.2.0.Theparameterisstillopt

php - 将 C 语言转换为 PHP 以获得 CRC16 函数

我需要帮助将C代码转换为PHP。以下是C代码:staticconstU16crctab16[]={0x0000,0x1189,...};U16GetCrc16(constU8*pData,intnLength){U16fcs=0xffff;while(nLength>0){fcs=(fcs>>8)^crctab16[fcs^*pData)&0xff];nLength--;pData++;}return~fcs;}到目前为止,我已经成功转换了以下PHP代码:$crctab16=array(0x0000,0x1189,...);functiongetCrc16($pData){$hexda

php - 是否可以在 PHP 中使用指针?

所以我明白引用不是指针:http://php.net/manual/en/language.references.arent.php问题是,是否可以在php中使用指针?鉴于以下示例,我猜这就是我们在处理对象时所做的事情:classEntity{public$attr;}classFilter{publicfunctionfilter(Entity$entity){$entity->attr=trim($entity->attr);}}$entity=newEntity;$entity->attr='foo';$filter=newFilter;$filter->filter($enti

php - square_root 在 C 中非常大的数字,直到 < 1000

我有一个非常大的数字:char*big_numbr_str="4325242066733762057192832260226492766115114212292022277";我想一直对这个数字求平方根,直到它小于1000。在PHP中,我可以相对轻松地做到这一点:while($num>1000):$num=sqrt($num);endwhile;$num=floor($num);我现在正尝试在C中实现相同的目标,以得到相同的结果。作为引用,在while循环中经过5次循环后,上述代码片段+起始数字在PHP中的最终结果为50;如果你在其他任何地方对这个数字求平方根5次,你应该会得到类似的结

php - 在 null 上调用成员函数 getDb()

我正在使用Yii2框架和dektrium/yii2-user模块来处理restful环境中的身份验证。这是我的API目录结构:api├──config│  ├──api.php│  ├──bootstrap.php│  ├──params.php│  └──routes.php├──index.php├──modules│  └──v1│  ├──controllers│  │  └──UserController.php│  ├──models│  │  └──User.php│  └──Module.php└──runtimeapi.php...$config=[...'compo

php - 如何编写可以修改 PHP 解释器内部结构的自定义 PHP 扩展?

是否可以在我可以的地方编写PHP扩展(UNIX、CGISAPI):重新定义PHP函数的实现(例如mail():许多PHP软件使用标准的mail()函数-我无法更改它,因为客户想要使用它,故事结束......-但我需要重写它,因为在chroot()的环境中,不可能生成一个sendmail进程——我需要套接字级别的通信,这不是标准的SMTP,顺便说一句)在执行PHP脚本的实际解析/执行之前“停止”PHP解释器(以便我可以为我的oen做其他事情),但在完成所有初始化工作(扩展加载、ini文件解析等)之后,我们称它为“在php脚本执行钩子(Hook)之前”左右:)强制解析一个INI文件(路径由

php - 将 null 作为 array_keys 的第二个参数传递

PHP文档指出defaultvalueofarray_keyssecondargument是NULL。但是,当显式传递NULL时,array_keys似乎无法正常工作。示例:代码$a=array(10=>'a',11=>'b',12=>'b',13=>'c',14=>'c',15=>'b');$keys=array_keys($a);var_dump($keys);//Output0$keys=array_keys($a,null);var_dump($keys);//Output1输出array0=>int101=>int112=>int123=>int134=>int145=>in

php - 拉维尔 4 : Config get returns array or null

我已经使用phpartisanconfig:publish在app/config/packages/lightshire/laravel/中发布了配置文件。我正在尝试访问这个$client_id=Config::get('lightshire/laravel-paypal::client_id');它返回的全部是array(0){}我的服务提供商package("lightshire/laravel-paypal");includeapp_path()."/routes.php";}publicfunctionregister(){$this->app["paypal"]=$this-

具有值的 PHP 数组返回 NULL

我有一个从CSV文件转换而来的数组。我有两个键ID和NAME。如果我显示keyNAME一切正常。但是当我尝试获取keyID时,我总是得到NULL但keyID已设置值。functionconvertCsvToArray($filename='',$delimiter=';'){if(!file_exists($filename))returnFALSE;$header=NULL;$data=array();if(($handle=fopen($filename,'r'))!==FALSE){while(($row=fgetcsv($handle,1000,$delimiter))!==F

php - 过滤递归数组并仅删除 NULL 值

我想从递归数组中删除所有null或空白值,但不删除false和0值。functionisNotNull($val){if(is_array($val)){$ret=array_filter($val,'isNotNull');return$ret;}else{return(!is_null($val)&&$val!=='');}}$arr=array_filter($arr,'isNotNull');输入:$arr=array("stringKey"=>"Abc","boolKey"=>false,"zeroKey"=>0,"blankKey"=>'',"newArr"=>array(